---
title: Introduction
description: Get started with PromptL
---

## What is PromptL?

[PromptL](https://promptl.ai/) is a versatile, user-friendly language that simplifies defining and managing dynamic prompts for LLMs. Whether you’re a developer or a non-technical user, PromptL offers a human-readable format that doesn’t compromise on power or flexibility.

## Why PromptL?

While LLMs are becoming more powerful and popular by the day, defining prompts for them can be a daunting task. All main LLM providers, despite their differences, have adopted a similar structure for their prompting. It consists of a conversation between the user and assistant, which is defined by a list of messages and a series of configuration options. In response, it will return an assistant message as a reply.

This structure looks something like this:

```json
{
  "model": "<your-model>",
  "temperature": 0.6,
  "messages": [
    {
      "type": "system",
      "content": "You are an AI assistant that writes personalized birthday messages."
    },
    {
      "type": "user",
      "content": "Write a birthday message for Tom, who loves programming!"
    }
  ]
}
```

This structure, while straightforward, presents challenges:

- **Difficult to Write**: Non-technical users find JSON hard to write and understand.
- **Static and Rigid**: Simple structures aren't ideal for dynamic, user-driven conversations.
- **Code Overhead**: Customizing prompts requires repetitive, often messy code.

**PromptL** solves these issues by offering:

**Readable and Maintainable Syntax**: Easily write and manage prompts.
**Dynamic Flexibility**: Add dynamic variables to adapt prompts to different scenarios.
**Powerful Logic in a Single File**: Incorporate logic to handle complex workflows with ease.

Here's the same prompt using PromptL:

```markdown
---
model: <your-model>
temperature: 0.6
---

You are an AI assistant that writes personalized birthday messages.

<user>
  Write a birthday message for {{ name }} who loves {{ hobby }}!
</user>
```

In this case, not only the syntax is way more readable and maintainable, but it also allows for dynamic generation of prompts by using variables like `{{ name }}` and `{{ hobby }}`!

## What’s Next?

This is just a small example of what PromptL can do. It’s a powerful tool to help you define smarter, more dynamic prompts for your LLMs. Ready to learn more? Let’s dive in!

- [Learn about PromptL syntax](/promptl/syntax/structure)
- [Try PromptL in your project](/promptl/usage/quick-start)
